package com.woniuxy.movice.service;

import java.util.List;

import com.woniuxy.movice.dto.Round;
import com.woniuxy.movice.dto.RoundDate;
import com.woniuxy.movice.entity.Rounds;

/**
 * 选座相关的业务逻辑
 * @author lxq
 * @data 2019年9月9日下午7:59:52
 */
public interface RoundService {
	
	List<Round> showRound(Round round);

	/**
	 * 1.先根据pid（场次ID）在redis中找出对应该场次的实时座位信息，找到直接返回
	 * 2.若在redis没有找到，则通过pid查找数据库中该场次的详细信息
	 * 	a）若该场次的结束时间早于当前时间（已结束），抛出RoundException异常(是否需要将该场次信息也一同更新到redis？记录为过期？)
	 * 	b）若该场次开始时间迟于当前时间（是否允许开始后仍可以购票？），返回该场次实体并异步更新到redis中，redis有效期为该场次结束时间
	 * 	c）若没有找到该场次信息，抛出RoundException异常
	 * @param pid 
	 * @return Round实体
	 */
	Rounds getSetsInfo(Integer id);

	/**
	 * 更新场次信息
	 * @param id
	 * @param layout
	 * @return
	 */
	int updateLayout(Integer id,String seats);

	Round findRoundByCid(Integer cid);

	List<RoundDate> showRoundDate(Round round);
	
}
